package com.sky.poi;

import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.CellType;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.junit.Test;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class read {
    /**
     *导入读取Excel文件的数据到java程序中
     */
    @Test
    public void readExcelXlsx() throws IOException {
        //创建用于读取Excel文件的文件字节输入流
        FileInputStream fileInputStream = new FileInputStream("D:\\desktop\\TowerOfProgramming\\CangQiongWaiMai\\sky-take-out\\sky-server\\src\\main\\java\\com\\sky\\poi\\商品信息测试.xlsx");
        //创建读取的Excel工作簿对象
        XSSFWorkbook workbook = new XSSFWorkbook(fileInputStream);//创建读取的Excel工作簿对象
        //获取Excel工作簿中的第一个工作表
        XSSFSheet sheet = workbook.getSheetAt(0);

        int lastRowNum = sheet.getLastRowNum();//获取最后一行的行号
        System.out.println("最后一行的行号：" + lastRowNum);
        //读取Excel文件中的数据
        for (int i = 0; i <= lastRowNum; i++) {
            //获取第i行数据
            XSSFRow row = sheet.getRow(i);
            //获取第i行的第1列数据
            XSSFCell cell = row.getCell(0);//获取第i行的第一个单元格
            cell.setCellType(CellType.STRING);//设置单元格的数据类型为字符串类型
            String cellValue1 = cell.getStringCellValue();//获取单元格的数据值
            //获取第i行的第2列数据
            String cellValue2 = row.getCell(1).getStringCellValue();
            //获取第i行的第3列数据
            String cellValue3 = row.getCell(2).getStringCellValue();

            //获取第i行的第4列数据
            XSSFCell cell1 = row.getCell(3);//获取第i行的第4列数据
            cell1.setCellType(CellType.STRING);//设置单元格的数据类型为字符串类型
            String cellValue4 = cell1.getStringCellValue();


            System.out.println("第" + (i + 1) + "行：" + cellValue1 + " " + cellValue2 + " " + cellValue3+ " " + cellValue4);

        }

        //关闭输入流和excel工作簿对象
        workbook.close();//关闭excel工作簿对象
        fileInputStream.close();//关闭输入流


    }
}
